home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Whiteline: delta
/
whiteline CD Series - delta.iso
/
tools
/
falc_uti
/
tassf16d
/
turboass.txt
< prev
Wrap
Text File
|
1995-11-25
|
27KB
|
962 lines
TurboAss
©1989 Σ-soft
von Markus Fritze & Sören Hellwig
Version 1.62
Markus Fritze, Sören Hellwig
März 1990
1.1 TurboAss Kurzanleitung 1
1 Allgemeines
1.1 Einleitung
Nach langem hin und her haben wir uns entschlossen unser
Assembler-Paket als Shareware auf den Markt zu werfen. Der
Assembler wurde vormals durch OMIKRON.Software unter dem Namen
OMIKRON.Assembler verkauft. Die Shareware-Version ist jedoch
eine erweiterte Version des OMIKRON.Assemblers. Sie enthält
weniger Fehler, weitere Features und ist noch ein wenig
schneller. Zum Paket gehört (natürlich) auch ein Debugger, der
Bugaboo (vormals OMIKRON.Debugger). Somit kann nun jeder User in
den Genuß eines schnellen und leistungsfähigen Assemblers und
Debuggers kommen; zumal es zwar viele Programmiersprachen als
Shareware bzw. PD gibt, aber noch keinen (vernünftigen)
Assembler.
DIE FIRMA OMIKRON.SOFTWARE HAT NICHTS MIT DIESEM ASSEMBLER-PAKET
ZU TUN. Σ-SOFT IST ALLEINIGER INHABER ALLER RECHTE AM ASSEMBLER
UND DEBUGGER!
Dieser Text ist nicht als eine Anleitung gedacht, sondern nur
als Kurzeinführung in den Assembler. Die vollständig Anleitung
auf ca. 240 Seiten gibt es bei den Autoren. Zur Not kann auch
das ST-Magazin 11/89 und 12/89 herangezogen werden. Dort hat
die Referenzkarte den Assembler und Debugger zum Thema.
Nachtrag:
Es fehlen ziemlich viele Features in diesem README, im Vergleich
zur Anleitung, es wird mir einfach zu viel... (Markus)
1.2 Features des TurboAss
- Einfache und durchdachte (!) Bedienung.
- Der Assembler übersetzt durchschnittlich 1 300 000 Zeilen
pro Minute.
- Syntax-Check bereits bei der Eingabe. Teilweise sogar
Semantik-Check! Es werden sowohl Tippfehler, wie auch
doppelt vergebene Symbolnamen bereits bei der Eingabe
gemeldet.
- Viele besonders leistungsfähige Funktionen des Editors,
z.B. Suche von Symbolen, Ersetzen von Symbolen, Einklappen
von Programmteilen (wie in GFA-Basic 3.0), u.v.a.m.
- Fantastische Kombination von Debugger und Assembler. Bei
einem Absturz eines Programms im Debugger kann der
Assembler automatisch die Absturzadresse in eine
1.1 TurboAss Kurzanleitung 2
Zeilennummer umrechnen!!!
- Eigene Tastatur- und Bildschirmtreiber => selbst bei
härtesten Programmabstürzen funktionieren Assembler und
Debugger noch.
- KEINE Makros!!!
- u.v.a.m.
1.3 Was ist Shareware?
- Jeder kann/darf/muß/soll den TurboAss kopieren! Dabei
müssen aber stets ALLE (!) Dateien mitkopiert werden.
- Wem den Assembler gefällt, sollte uns fairerweise 50DM
überweisen. Das hat für alle Parteien Vorteile:
Für uns:
- Wir arbeiten nicht ganz umsonst (im TurboAss stecken 3
"Mannjahre" Arbeit)
Für den User:
- Er bekommt eine 240 Seiten starke Anleitung
- Er bekommt die neuste Version mit persönlicher
Seriennummer
- Er bekommt das erste Update kostenlos
- Er erhält bei gefundenen Fehlern eine fehlerfreie Version
- Er kann sich bei Problemen an uns wenden
- Er bekommt für jeden User, der bei Registierung seine
Seriennummer angibt, 10DM (allerdings maximal 10 mal, wir
wollen keine PD-Vertriebe finanzieren). Das Geld ist also
eine "Entschädigung" für das Vorführen des Assemblers und
das Kopieren.
- Nochmal: Läßt sich jemand registrieren, so gibt er die
Seriennummer des vorher benutzen Assemblers an. Der User,
dem diese Seriennummer gehört, bekommt vom uns 10DM.
Alles klar?
Wer diese Angebot annehmen will, wende sich bitte an:
Markus Fritze
Birkhahnkamp 38
2000 Norderstedt 1
Tel: 040/5223955
(ab 18Uhr, auch am Wochenende (NIE VOR 12UHR!!!))
1.1 TurboAss Kurzanleitung 3
BLZ: 20069111, Norderstedter Bank
Kontonummer: 407860
Ich bitte allerdings teilweise um etwas Geduld; ich hoffe die
meiste Post am selben Tag zu erledigen, wenn aber keine
Anleitungen mehr da sind oder wenn wir gerade einige Neuerungen
implementieren, kann es schon mal etwas dauern (Wenn nach 2-3
Wochen allerdings nix passiert kann eine Anfrage klären, ob die
Post auch angekommen ist).
1.4 Hardwarevorraussetzungen
Atari ST mit 512k, wobei allerdings erst ab 1Mb Assembler und
Debugger gemeinsam im RAM gehalten werden können, was
seinerseits wieder ein sehr wirksames Debugging erst ermöglicht.
Die hohe Auflösung bietet sich wohl eher an, als die mittlere
Auflösung (Ist einfach augenfreundlicher); aber der TurboAss
läuft sowohl in Farbe, wie auch in S/W.
1.5 Installation
TURBOASS.PRG, TURBOASS.CFG, TURBOASS.DAT, BUGABOO.PRG und
CALL.PRG auf eine Disk, bzw. in einen Ordner kopieren. Das
war's.
1.6 Zu den Autoren
Sören Hellwig und ich (Markus Fritze) sind zur Zeit 21 bzw. 22
Jahre alt und studieren technische Informatik an der FH-Wedel
bei Hamburg. Deswegen bitte wir auch teilweise um etwas Geduld,
wenn Anfragen nach Updates, etc. kommen; das Studium geht leider
vor. Zudem beantworte ich jeden Brief, der Rückporto
beinhaltet. Post ohne Rückporto wird nur in Ausnahmefällen
beantwortet (Zur Registrierung ist KEIN Rückporto nötig!)
1.7 Haftung/Rechte
Alle Rechte am TurboAss liegen bei Σ-soft. Wobei jeder seinen
Assembler beliebig kopieren darf. Auch das Upload in Mailboxen
ist erlaubt. Der TurboAss und das Handbuch wurden mit größter
Sorgfalt erstellt. Leider sind Fehler nie auzuschließen,
deswegen möchten wir sie darauf hinweisen, daß wir weder eine
Garantie für die Fehlerfreiheit geben, noch die Haftung für
irgendwelche Folgen, gleich ob durch Fehler im Handbuch, in der
Software oder in der Hardware verursacht, übernehmen können. Es
wird wohl jeder verstehen, daß wir keine besondere Begeisterung
verspüren, wenn jemand behauptet, der Assembler habe im seine
1.1 TurboAss Kurzanleitung 4
Platte mit Sourcetexten im Werte von mehreren Millionen Mark
zerstört, uns auf Schadenersatz verklagen will. Also: Benutzung
auf eigene Gefahr! (Dieser Abschnitt gilt wohl bei allen
Softwarefirmen.
2 Der Assembler
2.1 Benutzeroberfläche
Die Benutzeroberfläche ist nicht von GEM o.ä. abhängig, d.h. neu
programmiert, das hat den Vorteil, daß der Assembler sicherer
gegen Abstürze und auch schneller ist. Zudem konnten einige
nette Features implementiert werden. Trotzdem sollte die
Umstellung von GEM wohl nicht ins Gewicht fallen. Die kleinen
Buchstaben in den Buttons bewirken mit ALT zusammen gedrückt,
das Anklicken des Buttons wie mit der Maus.
2.2 Die Maus im Assembler
Man kann mit der Maus eine ganze Menge Dinge machen, hier sei
jedoch nur die Benutzung im Assembler erklärt:
Im Sourcetext:
Linke Maustaste:
Einfachklick: Cursor setzen
langer Klick: Block markieren (mit Scrollen)
Doppelklick : Sprung zur Definition des angeklickten Symbols
Rechte Maustaste:
Einfachklick: Sourcetext scrollen (nur am Rand klicken!)
Doppelklick : Formel in den Rechner übernehmen
In der Statuszeile:
einfach alles mal mit links bzw. rechts anklicken...
2.3 Der Editor
Jede eingegebene Zeile wird automatisch auf ihren Syntax und
teilweise auch auf die Semantik überprüft. Wenn die Zeile
fehlerfrei ist, wird sie sofort formatiert ausgegeben. Bei einem
Eingabefehler wird in der Statuszeile die Fehlermeldung
angezeigt.
2.4 Besonderheiten
Als Adressierungsart wird auch "absolut short" direkt
unterstützt. Dazu ist hinter der Adresse ".w" anzugeben.
1.1 TurboAss Kurzanleitung 5
Line-A-Routinen können mit "LINEA #Nummer" eingegeben werden.
Der Assembler wandelt nicht-Motorola Eingaben wenn möglich
automatisch in das Motorola-Format um.
2.5 Optimierungen
Der Assembler kann einige Optimierungen selbstständig finden.
Dazu gehören:
Absolut lang -> relativ
relativ -> relativ short
Absolut lang -> PC-relativ
MOVE.L #xx,A0 -> LEA xx,A0 (wenn dannach PC-relativ was bringt)
MOVE.L #xx,-(SP)-> PEA xx,A0 (wenn dannach PC-relativ was bringt)
Ferner werden einige für C-Compiler typische Sprünge gefunden
(z.B. 2 aufeinanderfolgende BRA, wobei das 2.BRA nie
angesprungen werden kann) Wenn der Assembler optimieren kann,
erscheint nach dem Assemblieren ein Button "ANPASSEN", welcher
die Optimierungen im Sourcetext vornimmt. Dabei kann auch
zurück-"optimiert" werden, wenn dies nötig sein sollte.
2.6 Formeln
Alles was so Standard ist:
+ - * / ! (log.NOT) ~ (NOT bzw. EOR)
<< (SHL) >> (SHR) | (OR) & (AND)
sowie Vergleiche
Als Zahlenbasis sind möglich:
Dezimal : . oder nix
Hexadezimal : $
Binär : %
ASCII : " oder '
Als interne Variablen sind ^^DATE (GEMDOS-Datum), ^^TIME
(GEMDOS-Zeit) * (akt.PC), ^^RSCOUNT (akt.Wert des RS-Zählers)
und ^^SYMTAB (<>0, wenn Symboltabelle erzeugt wird)
Symbole sind max.23 Zeichen lang. Alle Zeichen sind
signifikant. Erlaubt sind auch Umlaute und alle anderen Zeichen
> 126.
2.7 Tastaturkommandos
Cursortasten, Backspace, etc. wie gewohnt CTRL-Y, CTRL-B, etc.
wie in TEMPUS
CTRL-D verdoppelt die Cursorzeile.
CTRL-M/ALT-M ermöglicht das Verschieben der Zeile.
CTRL-W ändert die Zahlenbasis der Zahl unter dem Cursor
CTRL-U markiert alle Zeichen mit Warnungen, in welchen ein
1.1 TurboAss Kurzanleitung 6
Symbol definiert ist, welches nirgends benutzt wird. Damit kann
man prima unbenutzt Unterprogramme finden!
ALT-Zehnerblock wie bei MS-DOS
ESC+Buchstabe Abkürzung für einen Befehl
CTRL-ESC Tastaturmakro beginnen. Dann zu belegende Taste
drücken. Alle folgenden Tasten (nicht die Maus!) werden
aufgezeichnet. Mit ALT-ESC wird die Definition abgeschlossen.
Die belegte Taste kann mit CTRL-ESC, Taste, ALT-ESC wieder
freigegeben werden.
2.8 Ein paar Worte zu den
Mit "Laden..." kann auch ein ASCII-Text eingeladen werden. Er
wird dabei automatisch ins interne Format gewandelt. "Symbol
suchen..." und "Symbol ersetzen..." ermöglichen das schnelle
Finden bzw. schnelle Ersetzen von Symbolen. Dabei können z.B.
alle Symbole gefunden werden, die mit "M" anfangen (Maske:"M*"),
ohne daß jeder MOVE-Befehl gefunden wird (wie bei ASCII-Editoren
üblich). "Sprung zu Zeile.." ermöglich auch das Springen zu
Symboldefinitionen (Eingabe:z.B."M*"). Die Dialogboxen im
"Einstellungen" Menü sind zum Teil selbsterklärend, der Rest ist
entweder unwichtig oder zu kompliziert, als daß er hier erklärt
werden könnte.
2.9 Der Assembler
Wird mit F1 aufgerufen. Treten bei der Assemblierung Fehler auf,
werden alle fehlerhaften Zeilen markiert. Nach der Assemblierung
kann man dann mit CTRL-J bzw. Shift-CTRL-J von Fehler zu Fehler
springen. Der Assembler speichert die Fehler, die
Cursorposition, die Marker etc. übrigens mit dem Sourcetext ab!
In der Dialogbox nach (!) der Assemblierung, können noch einige
Extras eingestellt werden:
- Soll eine Symboltabelle an das Programm gehängt werden
(bzw. an den Debugger übergeben werden)?
- Ferner kann das erzeugte Programm in verschiedenen Formaten
abgespeichern. Möglich sind:
DEBUGGER : Sprung in den Debugger mit Programmübergabe (KEIN
SPEICHERN)
STANDARD : Programm abspeichern (halt ganz normal...)
DATAS : Data-Zeilen erzeugen (für OMIKRON.Basic)
ABSOLUT : Programm für eine best. Adresse (z.B. EPROM)
erzeugen
BASIC : spezielles Format für Basic, welches sich selbst
reloziert
OMINLINE : INLINE-Zeile für OMIKRON-Basic erzeugen
1.1 TurboAss Kurzanleitung 7
PARALLEL : spez.Übertragungsformat zum Amiga
SMALLDRI : DRI-Format erzeugen (allerdings OHNE Importe)
GFAINLINE : GFA-Inline-Format erzeugen.
FSTANDARD : Fast-Load-Bit im Header setzen (ST-Magazin
11/89), sonst wie
STANDARD
2.10 Pseudo-Opcodes des Assemblers
DC, DS, BLK, DCB, EVEN, ALIGN, TEXT, DATA, BSS, END, =, EQU,
GLOBAL, CNOP, ORG, ILLEGAL und REG
wie üblich.
DXSET Länge[,Füllwert] Tabelle definieren
DX 'String' Tabelleneintrag auf Länge mit Füllwert aufgefüllt
RS, RSRESET, RSSET, RSEVEN, RSBSS Relatives Segment
OPT D+ normale Symboltabelle an
OPT X+ erweiterte Symboltabelle an
OPT W+ Warnungen an
OPT P+ PC-relatives Programm muß erzeugt werden
OPT O+ Optimierungen an
Mit '-' kann etwas ausgeschaltet werden
OUTPUT 'Filename' Default-Filename
PATH 'Pfad' Pfad für IBYTES setzen
IBYTES 'DEGAS.PI3',32000,34 Lädt ein Daten-File der Länge 32000
ab Byte 34 der Datei ein (Hier: ein Degas-Bild)
BASE is' viel zu kompliziert...
REPT Anzahl, ENDR wiederholt Anzahl mal den Sourcetextteil
zwischen
REPT und ENDR
IF, ELSE, ENDC bedingte Assemblierung
FAIL Assemblierung abbrechen
3 Der Debugger
3.1 Vorwort
Es ist eigentlich unmöglich den Debugger KURZ zu beschreiben,
deswegen hier nur die wichtigsten Befehle (mit HELP kann man
alle mal sehen bzw. in der Anleitung)
3.2 Allgemeines
Der Debugger benutzt selber keine I/O-Routinen des TOS, d.h. er
ist ziemlich unanfällig gegen Abstürze. Bei Lade-Operationen
u.ä. wird aber dann natürlich doch auf's GEMDOS
1.1 TurboAss Kurzanleitung 8
zurückgegriffen.
Er verwaltet eine eigene Bildschirmseite, sodaß Programm und
Debugger sich nicht auf einer gemeinsamen Seite tummeln.
Das Debugging kann sowohl mit Tastatur und Maus erfolgen.
Der Debugger kann resident im RAM gehalten werden, indem er in
den AUTO-Ordner kopiert wird oder mit dem Befehl RESIDENT
gehalten wird. Der Debugger kann dann mit CALL.PRG aufgerufen
werden. Auch der Assembler kann auf den Debugger zugreifen (Er
kann ihn aber auch nachladen).
3.3 Die Bedienung
Die 2 oberen Zeilen entsprechen den Funktionstasten (mit und
ohne Shift). Die 3 Folgezeilen stellen die Registerinhalte und
Flags dar. Alle Teilen in diesen 5 Zeilen können mit der Maus
ausgelöst werden.
Die restlichen (max.20 Zeilen) sind frei veränderbar. Hier
erfolgen die Eingaben, die Ausgaben. Hier tobt das Leben...
Die Tastaturbelegung (Cursortasten, CTRL-M, CTRL-1, etc.) ist
ähnlich der des Assemblers.
Eingaben erfolgen stets ab Zeilenanfang bzw. hinter der
Hexzahl. Leerzeichen werden ignoriert bzw. dienen als Trenner.
Wenn der Assembler den Debugger aufgerufen hat, kann man
CTRL-HELP zurückspringen. Dabei wird der aktuelle PC-Stand in
eine Zeilennummer UMGERECHNET. D.h. wenn ein Programm beim
Debuggen abgestürzt ist und der PC im Programm steht, kann man
CTRL-HELP zur entsprechenden Stelle im Sourcetext springen.
Mit SHIFT-SHIFT kann ein laufendes Programm angehalten werden.
Der Ring-Indikator funktioniert allerdings auch. Der Debugger
ist zudem RESETFEST. Als Notbremse ab und zu sinnvoll.
F1 - Führt den nächsten Befehl aus
SF1 - Bricht beim nächsten Sprungbefehl ab. Simuliert den
Tracemode des 68020 Prozessors.
F2 - Setzt hinter den nächsten Befehl einen Breakpoint und
startet das Programm. Damit kann z.B. schnell ein
Unterprogramm ausgeführt werden oder ein DBRA beendet
werden.
SF2 - nicht weiter wichtig
1.1 TurboAss Kurzanleitung 9
F3 - Startet das Programm und bricht beim nächsten RTS ab.
ACHTUNG! Wenn mit MOVEM Werte auf dem Stack gerettet werden
=> Bomb!
SF3 - wie F3 nur bis zum nächsten RTE
F4 - Führt den nächsten TRAP NICHT aus, sondern springt in
ihn hinein.
SF4 - Programm ohne Endebedingung starten
F5 - nächsten Befehl ignorieren, d.h. überspringen
SF5 - Insert/Overwrite toggeln
F6 - Sourcecode anzeigen (nur wenn vom Assembler übergeben)
SF6 - die umgerechneten Marker des Assemblers anzeigen.
F7 - Memorydump ab dem PC
SF7 - Breakpoints anzeigen
F8 - Disassemble mit Dump ab PC
SF8 - Info über die Speicherbelegung
F9 - List ab PC (mit Symbolen, wenn vorhanden)
SF9 - Screen löschen, Warmstart
F10 - Umschalten der Bildschirmseite (Toggeln)
SF10- Quit mit Sicherheitsabfrage
3.4 Die Befehle
Alle Befehle können auf ein Minimum abgekürzt werden. An ALLEN
Stellen sind als Parameter beliebige Ausdrücke erlaubt (d.h.
Formeln etc.)
?Term Rechnet den Term aus
Term darf (bis auf Vergleiche) alle Operationen des Assemblers
enthalten. Zudem ist mit {400}.l eine indirekte Adressierung
möglich. ".l" gibt dabei die Zugriffsbreite an. Alle Zahlen
werden als HEXZAHLEN angesehen. Dezimalzahlen sind mit "."
einzuleiten. Bei einer Symboltabelle kann man mit ".Symbolname"
auf dieses zugreifen.
Definierte Variablen (ein Teil davon)
^D0-^D7 Die Register D0-D7
1.1 TurboAss Kurzanleitung 10
^A0-^A7 Die Register A0-A7
PC, USP, SSP, SR, CCR, SP Die gleichnamigen Register
^M0-^M9 Die umgerechneten Marker des Assemblers
Alle obigen Variablen sind mit
LET Variable=Term änderbar.
LET läßt sich mit "~" abkürzen.
Noch ein paar Read-Only-Variablen:
TEXT, DATA, BSS, START, END, BASEPAGE, BP, ACTPD, MEMBASE,
SAVEAREA
Es gibt noch etwa 20-30 weitere nicht so wichtige Variablen.
BREAKPOINT [Nummer=Adresse[,[*|=Wert|Anzahl|?Bedingung]|K]]
Breakpoints anzeigen, löschen, ändern, setzen
B5=PC+.100 Breakpoint 5 (0-15 ist mgl) auf Adresse PC+100
setzen
B K Alle Breakpoints löschen
B Alle Breakpoints anzeigen
BK3 Breakpoint 3 löschen
B0=Adr,Anzahl : Breakpoint bricht beim Anzahl. Erreichen
ab.
B0=Adr,* : Breakpoint bleibt auch nach dem Erreichen
erhalten. Normale Breakpoints werden automatisch
gelöscht.
B0=Adr,=Wert : Zähler auf die Adresse Adr setzen. In ^BC0
wird hochgezählt wie oft die Adresse erreicht wurde.
B0=Adr,?Term : Bedingter BKPT, Abbruch, wenn Term<>0 z.B.
B0=Adr,?^D0=4711 => Abbrucht, wenn PC=Adr UND D0=
GO [Adr]
Programm an Adresse Adr, bzw. PC starten
TRACE
Wie F1
SHOWMEMORY Term
16 Bytes ab Term stets anzeigen
UNTRACE [Adr]
1.1 TurboAss Kurzanleitung 11
solange Tracen, bis Bedingung erfüllt
IF Term
Bedingung für UNTRACE
OBSERVE Trapno,Funkno
Abbruch, wenn Trapno(Funktion) ausgeführt wird. z.B. OBSERVE
14,8 => Abbruch bei XBIOS(8) = Floprd()
CLS
2.Bildschirmseite löschen
MOUSEON / MOUSEOFF
VDI-Maus an/aus
|Befehl
Befehl ausführen (zum Testen echt prima)
LEXECUTE "Filename"[,"Commandline"]
Programm ausführbar laden (=> Pexec()) Dann mit GO zu starten.
LOAD "Filename"[,Adresse]
File nicht ausführbar laden
SAVE ["Filename"[,Adresse[,Endadresse]]]
File abspeichern
DIR Pfadmaske
Directory anzeigen
Pbefehl
P vor einem Befehl leitet diesen zum Drucker um
FOPEN Filename, Fbefehl, FCLOSE
Ausgabe eines Befehls in eine Datei
ERASE, KILL Filename
Datei löschen (mit Jokern!)
FREE
Freier Hauptspeicher
FREE Drive
Freier Platz auf einem Laufwerk
MKDIRECTORY Name
Ordner erstellen
RMDIRECTORY Name
Ordner löschen (wenn leer)
NAME oldname,newname
1.1 TurboAss Kurzanleitung 12
File umnennen
FATTRIBUT Filename,attribut
File-Attribut ändern/setzen
FORMAT DS/SS,Laufwerk
Disk formatieren
TYPE Filename
ASCII-Datei anzeigen (SPACE hält Ausgabe an)
READSEKTOR Track,Sektor,Seite,Adresse,Laufwerk (0 oder 1)
Sektor mit XBIOS(8) einlesen
WRITESEKTOR s.o.
Sektor mit XBIOS(9) schreiben
Alle in diesem Abschnitt angegebenden Befehle erlauben den
gleichen Syntaxbei den Parametern, der deswegen an dieser Stelle
erklärt wird, und im folgenden nur noch mit [Parameter]
bezeichnet wird. Es gilt also:
[Parameter] = [Von][[,]#[Zeilen]|,Bis|[,][Bytes[]]]
Es sind also alle Parameter wahlfrei, d.h. man braucht keine
Parameterangeben. Der Debugger nimmt dann vorgegebene interne
Werte.
Wenn der Ausdruck "Von" fehlt, wird ab der aktuellen Adresse
z.B. disassembliert. Die aktuelle Adresse ist die Zahl am
Zeilenanfang, bzw. wenn diese fehlt, die zuletzt benutzte
Adresse.
Als Endadresse gilt der Ausdruck "Bis", der jedoch nicht
angegeben werden muß. Wird statt "Bis" ein "#" angegeben wird
genau eine Zeile ausgegeben. Ein dem "#" folgender Term, gilt
als Zeilenanzahl. Es können somit z.B. genau 8 Zeilen ausgegeben
werden. Es werden jedoch maximal 99 Zeilen ausgegeben. Fehlt die
Endangabe gänzlich, werden (normalerweise) 16 Zeilen ausgegeben.
Die Anzahl läßt sich jedoch einstellen, indem man die Variable
"Lines" entsprechend ändert. Die letzte Möglichkeit ist die
Angabe der Byteanzahl in eckigen Klammern. Sie kann genauso, wie
die Zeilenanzahl angegeben werden. Die "]" ist optional, d.h.
man kann sie auch weglassen.
Beispiel:
"d text #5"
Disassembliert 5 Zeilen ab Anfang des geladenen Programms.
Beispiel:
"m data[30]"
Ein Memorydump des DATA-Segments (48 Bytes lang).
1.1 TurboAss Kurzanleitung 13
DISASSEMBLE [Parameter]
Disassemble mit Dump, der Dump kann geändert werden!
LIST [Paramter]
Disassemble ohne Dump mit Symbolen, Opcodes können geändert
werden (RETURN nicht vergessen)
SYMBOLTABLE [Parameter]
evtl. vorhandene Symboltabelle anzeigen
MEMORY[.B|.W|.L][Parameter]
Memorydump mit Ausgabebreite (Änderbar)
ASCII [Parameter]
ASCII-Dump (Änderbar)
FIND [Von,Bis],Terme{,Term}
geladenes Programm oder Speicherbereich nach den Termen
durchsuchen
HUNT s.o.
wie Find, jedoch nur auf geraden Adressen
ASCFIND [Von,Bis],String
ASCII-Suche im Disassemblerlisting (mit Jokern). Langsam, aber
ab und zu praktisch
CONTINUE
Hunt, Find oder ASCFIND fortsetzen, wenn mit ESC abgebrochen
INFO
mal ausprobieren
SYSINFO
auch mal ausprobieren
MOVE, COPY Von,Bis,Nach
Speicherblock kopieren
FILL Von,Bis,Term{,Term}
Speicherblock füllen
CLR [Von,Bis]
Speicherblock löschen (oder alles)
COMPARE Von,Bis,Adr
Bereich Von,Bis mit Bereich ab Adr vergleichen
EXIT, QUIT, SYSTEM
Debugger verlassen
1.1 TurboAss Kurzanleitung 14
RESIDENT
Debugger resident halten
SET, LET, ~
siehe oben
RESET ALL
Debugger-Kaltstart
HELP
Gibt alle Befehle unsortiert aus (wie man sieht, ein paar mehr
als hier beschrieben)
4 Was bringt die Zukunft?
Nun, daß hängt sehr vom Erfolg der Shareware-Konzeptes ab.
Sicher, wir machen weiter, aber ob wir einen 68020/30 Assembler
mit FPU- und PMMU-Support (Atari TT) mit Makros, lokalen
Symbolen etc. als Shareware rausbringen? Nun, wenn es sich lohnt
immer... Allerdings geht das Studium vor...
Was kommt denn als nächstes?
Der Sourcecode-Debugger ist schon ganz nett (wenn auch bei
Sourcetexten mit >10000 Zeilen recht langsam => Arbeit,
Arbeit,... ), kann man doch jederzeit gucken, an welcher Stelle
der PC im Sourcetext steht, ohne in den Assembler
zurückzumüssen. Die Remarks zu sehen ist ja auch nicht schlecht.
Und das tollste: das Ganze spart auch noch Platz! Beim normalen
Debuggen wird eine Symboltabelle benötigt, beim
Sourcecode-Debugging wird dagegen laufend umgerechnet, wo der PC
im Sourcetext steht (und das recht fix (bei Sourcetexten <10000
Zeilen, s.o.)).
Inhaltsverzeichnis
TurboAss V1.62
1 Allgemeines .......................................... 1
1.1 Einleitung ...................................... 1
1.2 Features des Turbo-Ass ............................ 1
1.3 Was ist Shareware? ................................ 2
1.4 Hardwarevorraussetzungen ........................ 3
1.5 Installation .................................... 3
1.6 Zu den Autoren .................................... 3
1.7 Haftung/Rechte .................................. 3
2 Der Assembler ......................................... 4
2.1 Benutzeroberfläche .............................. 4
2.2 Die Maus im Assembler .............................. 4
2.3 Der Editor ....................................... 4
2.4 Besonderheiten .................................. 4
2.5 Optimierungen ................................... 5
2.6 Formeln ......................................... 5
2.7 Tastaturkommandos ............................... 5
2.8 Ein paar Worte zu den............................... 6
2.9 Der Assembler .................................... 6
2.10 Pseudo-Opcodes des Assemblers .................... 7
3 Der Debugger .......................................... 7
3.1 Vorwort ......................................... 7
3.2 Allgemeines ..................................... 7
3.3 Die Bedienung .................................... 8
3.4 Die Befehle ...................................... 9
4 Was bringt die Zukunft? ................................. 14
- I -